package com.gzhu.knowledgeAdmin.entity;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;

import com.gzhu.knowledgeAdmin.common.valid.AddGroup;
import com.gzhu.knowledgeAdmin.common.valid.UpdateGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.*;
/**
 * 系统用户表
 * 
 * @author giaogiao
 * @email giaogiao@gmail.com
 * @date 2023-04-22 23:18:59
 */
@Data
@TableName("t_xtyhxx_t")
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="t_xtyh_t对象", description="系统用户表")
public class Xtyh implements Serializable {
	private static final long serialVersionUID = 1L;

	@TableId(value = "F_ID",type = IdType.AUTO)
	@ApiModelProperty(value = "自增主键")
	@Null(groups = {AddGroup.class})
	@NotNull(message = "修改必须指定id",groups = {UpdateGroup.class})
	private Integer id;

	@TableField(value = "F_GH")
	@ApiModelProperty(value = "工号")
	private String gh;

	@NotBlank(groups = {AddGroup.class})
	@ApiModelProperty(value = "用户名")
	@TableField(value = "F_YHM")
	private String yhm;

	@NotBlank(groups = {AddGroup.class})
	@ApiModelProperty(value = "密码，使用MD5加密")
	@TableField(value = "F_MM")
	@Null(groups ={UpdateGroup.class})
	private String mm;

	@NotBlank(groups = {AddGroup.class,UpdateGroup.class},message = "必需指定公司")
	@ApiModelProperty(value = "公司id")
	@TableField(value = "F_GSID")
	private String gsid;

	@ApiModelProperty(value = "微信号")
	@TableField(value = "F_WX")
	private String wx;

	@ApiModelProperty(value = "状态")
	@TableField(value = "F_ZT")
	private String zt;

	@ApiModelProperty(value = "创建日期")
	@TableField(value = "F_CJRQ")
	private Date cjrq;

	@NotBlank(groups = {AddGroup.class})
	@ApiModelProperty(value = "性别")
	@TableField(value = "F_XB")
	private String xb;

	@ApiModelProperty(value = "籍贯")
	@TableField(value = "F_JG")
	private String jg;

	@ApiModelProperty(value = "出生年月")
	@TableField(value = "F_CSNY")
	private Date csny;

	@ApiModelProperty(value = "所属班组")
	@TableField(value = "F_SSBZ")
	private String ssbz;

	@ApiModelProperty(value = "用户角色")
	@TableField(exist = false)
	private String rylx;

	@ApiModelProperty(value = "职务")
	@TableField(value = "F_ZW")
	private String zw;

	@ApiModelProperty(value = "手机号码")
	@TableField(value = "F_SJHM")
	private String sjhm;

	@ApiModelProperty(value = "备用手机号码")
	@TableField(value = "F_BYSJHM")
	private String bysjhm;

	@ApiModelProperty(value = "学历")
	@TableField(value = "F_XL")
	private String xl;

	@ApiModelProperty(value = "毕业院校")
	@TableField(value = "F_BYYX")
	private String byyx;

	@ApiModelProperty(value = "所学专业")
	@TableField(value = "F_SXZY")
	private String sxzy;

	@ApiModelProperty(value = "参加工作时间")
	@TableField(value = "F_CJGZSJ")
	private Date cjgzsj;

	@ApiModelProperty(value = "备注")
	@TableField(value = "F_BZ")
	private String bz;

	@ApiModelProperty(value = "人员类型")
	@TableField(value = "F_YHLX")
	private Integer yhlx; // 查看 RoleType

	@TableField(value = "F_JSID")
	@ApiModelProperty(value = "用户角色类型（不是权限管理里的角色） 1-座席 ;2-语音 ;3-机器人")
	private String jsid;

	@TableField(exist = false)
	private String gsmc;

}
